package com.chaodev.base.service;

import com.github.pagehelper.PageInfo;
import com.chaodev.base.model.wenjuan.*;
import com.chaodev.base.dto.WenJuanPDto;
import com.chaodev.base.model.DataPageVO;
import com.chaodev.base.model.UserInfo;

import java.util.List;
import java.util.Map;

/**
 * vcbase
 *
 * @author 95634
 * @描述
 * @date 2023/5/23 13:43
 **/
public interface WenJuanService {
    PageInfo<Paper> examPaperQuery(int currentPage, int pageSize, String usercode);
    boolean isExist(UserInfo userInfo);
    boolean isAnswer(Answer answer);
    void save(Paper wenJuan);
    void update(Paper wenJuan);
    Paper editExamPaper(String id);
    Paper getExamPaper(String id);
    List<UserScore> getUserScoreList(UserScore userScore);
    List<Map<String,Object>> editExamPapers(String id);
    PageInfo<Map<String,Object>>myExamPaperQuery(DataPageVO dataPageVO);
    boolean submitWenJuan(PaperFinsh paperFinsh);
    boolean submitWenJuan(List<PaperFinsh> paperFinshs);
    boolean submitWenJuanScore(UserScore userScore);

    boolean saveQuestion(Question question, String paperId);
    boolean saveQuestion(Question question, String paperId, WenJuanPDto wenJuanPDto);
    boolean bindPaper(List<PaperDepart> paperDeparts);

    PageInfo<Map<String,Object>> getPaperInfo(DataPageVO dataPageVO);
    boolean setBindPaper(String paperId);
    boolean effectivePaper (String paperId);
    boolean updateQuestion(Question question, String paperId,WenJuanPDto wenJuanPDto);
    boolean updateQuestion(Question question, String paperId);
    boolean deleteQuestionFromPaper(Question question, String paperId);

    Integer paperQuestion(String id);
    boolean examPaperDel(String id);
    boolean sendExamPaper(String departid,String paperid);
    List<Map<String,Object>> checkBing(Map<String,Object> map);
    /**
     *  获取答题结果
     */
    String getPaPerScoreResult(Map<String,Object> map);




//    List<Record> ExamPaperTj(String orgCode, String perform, UserInfo currUser, int paperId, String areaID);

}
